import request from "@/utils/request";

// 登录
export function login(data) {
    return request({
        url: "/manager/login",
        method: "post",
        data,
    });
}

// 登出
export function logout() {
    return request({
        url: "/manager/auth/logout",
        method: "post",
    });
}

// 获取用户信息
export function getUserInfo(userId) {
    return request({
        url: `/manager/user/${userId}`,
        method: "get",
    });
}

// 修改密码
export function changePassword(data) {
    return request({
        url: "/manager/user/password",
        method: "get",
        data,
    });
}

// 统一处理注册和更新用户信息
export function userOperation(data) {
    return request({
        url: "/manager/userInfo",
        method: "post",
        data: {
            ...data,
            // isRegister为true时是注册操作，false时是更新操作
            isRegister: data.isRegister || false,
            // 注册时只保留必要字段，其他置空
            ...(data.isRegister
                ? {
                      nickname: "",
                      avatar: "",
                      phone: "",
                      email: data.email || "",
                      address: "",
                      description: "",
                  }
                : {
                      // 更新时需要传入用户ID
                      id: sessionStorage.getItem("userId") || "",
                  }),
        },
    });
}

// 注册方法（封装userOperation）
export function register(data) {
    return userOperation({
        ...data,
        isRegister: true,
    });
}

// 更新用户信息方法（封装userOperation）
export function updateUserInfo(data) {
    return request({
        url: "/user/modifyInfo",
        method: "post",
        data,
    });
}

// 关注作者
export function followAuthor(authorId) {
    return request({
        url: `/user/follow`,
        method: "get",
        params: { authorId },
    });
}

export function cancelFollow(authorId) {
    return request({
        url: "/user/cancelFollow",
        method: "get",
        params: { authorId },
    });
}
